1. Field of the Invention
The present invention relates to audio signal processing and, in particular, to the suppression of echo and/or other signals corresponding to sound generated by a loudspeaker and picked up by a microphone.
2. Description of the Related Art
In order to reduce echo in a microphone signal, traditional acoustic echo cancelers estimate the impulse response of the acoustic echo path adaptively in time. Given this estimate, the signal component caused by the acoustical echo is estimated and subtracted from the microphone signal.
FIG. 1 shows a block diagram illustrating a prior art scheme for traditional acoustic echo cancellation (AEC). As shown in FIG. 1, an input audio signal x[k] is applied to a loudspeaker 102, while a microphone 104 generates an audio signal y[k]. The microphone signal y[k] is composed of an echo signal ye[k] (corresponding to sound generated by loudspeaker 102 and picked up by microphone 104), a near-end talker signal v[k], and ambient noise w[k]. The goal of echo cancellation is to generate an output signal z[k] that suppresses (e.g., by cancellation) the component of the microphone signal y[k] corresponding to the echo signal ye[k].
In the conventional acoustic echo cancellation scheme of FIG. 1, filter controller 106 implements an adaptation algorithm to control echo cancellation filter 108, which generates-an estimate ŷ[k] of the echo signal. This estimated echo signal ŷ[k] is subtracted from microphone signal y[k] at node 110 to generate the echo-suppressed output signal z[k] according to Equation (1) as follows:z[k]=y[k]−ŷ[k].  (1)
Cancellation filter 108 estimates the impulse response of the acoustic echo path adaptively in real time. In typical implementations, cancellation filter 108 is an M-tap finite impulse response (FIR) filter represented by the transfer function he corresponding to the M-element vector (he[0], he[1], . . . , he[M−1])T, where the transfer function is estimated adaptively in time by filter controller 106 based on comparisons between input signal x[k] and output signal z[k]. Cancellation filter 108 applies the transfer function to the input signal according to Equation (2) as follows:ŷ[k]=heTx[k]  (2)where x[k]=(x(k), x[k−1], . . . x[k−M+1])T is a vector corresponding to the most recent M samples of the input signal.
In typical applications, an echo path impulse response of 50–300 ms is considered. To achieve even modest improvement, e.g., a misalignment of 20 dB below the uncancelled impulse response, a cancellation filter with 500 taps needs to be considered at 8 kHz sampling rate for a small room. For larger rooms and higher sampling rates, the minimum number of taps rises to several thousand (e.g., 4,000 taps). As a result of the high number of taps, the computational complexity is high for conventional acoustic echo cancelers having architectures similar to that shown in FIG. 1